/* Copyright: Marcelo S. N. Mancini (Hipreme|MrcSnm), 2018 - 2021 License: [https://creativecommons.org/licenses/by/4.0/|CC BY-4.0 License]. Authors: Marcelo S. N. Mancini Copyright Marcelo S. N. Mancini 2018 - 2021. Distributed under the CC BY-4.0 License. (See accompanying file LICENSE.txt or copy at https://creativecommons.org/licenses/by/4.0/ */ module hip.api.input.keyboard; interface IHipKeyboard { bool isKeyPressed(char key); bool isKeyJustPressed(char key); bool isKeyJustReleased(char key); float getKeyDownTime(char key); float getKeyUpTime(char key); } enum HipKey : ushort { BACKSPACE = 8, TAB, ENTER = 13, SHIFT = 16, CTRL, ALT, PAUSE_BREAK, CAPSLOCK, ESCAPE = 27, SPACE = 32, PAGE_UP, PAGE_DOWN, END, HOME, ARROW_LEFT, ARROW_UP, ARROW_RIGHT, ARROW_DOWN, PRINT = 44, INSERT = 45, DELETE, _0 = 48, _1, _2, _3, _4, _5, _6, _7, _8, _9, A = 65, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, META_LEFT = 91, META_RIGHT, F1 = 112, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, SEMICOLON = 186, EQUAL, COMMA, MINUS, PERIOD = 190, SLASH, BACKQUOTE, BRACKET_LEFT = 219, BACKSLASH, BRACKET_RIGHT, QUOTE, NONE = 255 }